package com.tencent.iov.cowin.befsale.clue.dao.http.todo.request;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Author: Caychen
 * @Date: 2021/5/9 13:20
 * @content:
 */
@Data
public class TodoAccessRequest {

    @ApiModelProperty(value = "消息模板id",example = "stringValue")
    private Long templateId;

    @NotNull
    @ApiModelProperty(value = "业务类型编码",example = "stringValue")
    private String businessType;

    @ApiModelProperty(value = "参数和值集合" , example = "stringValue")
    private Map<String,Object> paramData;

    @ApiModelProperty("标题")
    @NotNull(message = "标题不能为空")
    private String title;

    @ApiModelProperty("待办内容，如果换行 \n")
    @NotNull
    private String content;

    @ApiModelProperty("主数据用户id列表")
    @Size(min = 1, message = "主数据用户id至少有一个")
    private List<Long> empIds;

    @ApiModelProperty("自定义按钮")
    private List<CustomButtonRequest> customButtonList;

    @ApiModelProperty(value = "客户手机号")
    private String customerPhone;

    @ApiModelProperty(value = "外部联系人id")
    private String externalUserId;

    @ApiModelProperty(value = "截止时间")
    private Date dueTime;

    @ApiModelProperty(value = "优先级")
    private Integer priority;

    /**
     * 待办状态： 0-待处理，1-已完成，2-取消
     */
    @ApiModelProperty(value = "待办状态: 0-待处理（默认），1-已完成，2-取消")
    private Integer itemStatus = 0;

    @ApiModelProperty(value = "待办类型：1-多人待办,单人完成即可（包括单人待办），2-多人待办,同时完成即可")
    private Integer completeType = 1;

    @ApiModelProperty(value = "是否立即推送,默认推送")
    private Boolean isPushMessage = true;

    @ApiModelProperty(value = "是否加入待办，默认加入待办")
    private Boolean isJoinTodo = true;

}
